$(function(){
    getGradeList();
});
/**
 * 查询班级列表
 * @param pageIndex
 * @returns
 */
function getGradeList(){
	var gradeId = $("#gradeId").val();
	var gradeName = $("#gradeName").val();
	$.ajax({
		url:"grade/gradeList",
		data:{
			"gradeId":gradeId,
			"gradeName":gradeName
		},
		type:"GET",
		dataType:"JSON",
		contentType:"application/json",
		success:function(result){
			if(result!=null&&result.flag==true){
				setData(result.data);
			}
		}
	});
}
/**
 * 为前端页面渲染数据
 * @param data
 * @returns
 */
function setData(gradeList) {
    console.log(1111)
    $("#gradeList").html("");
    if (gradeList != null && gradeList.length > 0) {
        for (var i = 0; i < gradeList.length; i++) {
            var grade = gradeList[i];
            var row = "<tr><th width=\"40\" align=\"center\">"
                + "<input type=\"checkbox\" name=\"gradeId\" value=\"" + grade.gradeId + "\" /></th>"
                + "<td>" + grade.gradeId + "</td><td>" + grade.gradeName + "</td>"
                + "<td><button class='delete-btn' data-id='" + grade.gradeId + "'>删除</button></td></tr>";
            $("#gradeList").append(row);
        }
        $("#content").css({ "display": "table" });
        $("#messageArea").css({ "display": "none" });

        // 绑定删除按钮的点击事件
       $(".delete-btn").click(function() {
           var gradeId = $(this).data("id"); // 获取当前行的 gradeId

           // 调用 deleteGrade 并传入回调函数
           deleteGrade(gradeId, function(flag) {
               if (flag) {
                   // 如果删除成功，删除当前行
                   $(this).closest("tr").remove();
               }
           }.bind(this)); // 使用 .bind(this) 保证回调中的 `this` 指向当前按钮
       });


    } else {
        $("#content").css({ "display": "none" });
        $("#messageArea").css({ "display": "block" });
    }
}

function deleteGrade(gradeId, callback) {
    console.log("删除的 gradeId 是: " + gradeId);

    $.ajax({
        url: '/grade/del',
        type: 'GET',
        data: { gradeId: gradeId },
        success: function(resp) {
            console.log(resp);
            var data = resp;
            var flag = data.flag;

            // 通过回调函数返回删除结果
            if (flag) {
                alert("删除成功");
                callback(true); // 请求成功，回调删除
            } else {
                alert("删除失败，请重试！");
                callback(false); // 请求失败
            }
        },
        error: function(xhr, status, error) {
            console.error("删除失败:", error);
            alert("删除失败，请重试！");
            callback(false); // 请求失败
        }
    });
}

